
/**
 * 以下as为调用硬件ocx的方法 ，包含三个模块 扫描仪、盖章机、打印机
 * 
 * @ author zyl
 * */
package com.sinodata.atmc.business {
	import flash.external.ExternalInterface;
	
	import mx.controls.Alert;

	public class CallingOCX {
		
		public function CallingOCX() {}
		//=====================影像编码显示模块=====================
		
		/**
		 * 影像64位编码
		 * @param str 需要编码图片的地址
		 * @return 图像编码后的64位码
		 * 
		 * */
		public function ImagesQode(str:String):String {
			var result:String = ExternalInterface.call("getFiledata",str);
			return result;
		}
		
		//======================描仪模块========================
		
		/**
		 * 扫描仪初始化和设置扫描参数
		 * @return 成功 0，失败 -1
		 * */
		public function ReaderInit():String {
			var result:String = ExternalInterface.call("Check_Readeroninit");
			return result;
		}
		
		/**
		 * 打开扫描仪口
		 * @return 成功 0，失败 -1，放入支票超时 -2（暂时没有）
		 * */
		public function ReaderOpen(timeout:int):String {
			var result:String = ExternalInterface.call("Check_Readerputdoc",timeout*1000);
			return result;
		}
		
		/**
		 * 扫描票据
		 * @return 失败 -1， 票据口无票 -4，伪票  0
		 * "CHEQUE" 票据类型支票  ，"DJPZ"  票据类型贷记凭证，
		 * "JZD"  票据类型进账单，"TCZFPZ"  票据类型同城支付凭证
		 * "JSYWSQS"  票据类型结算业务申请书，"OTHERVOUCHER"  其他票据类型
		 * */
		public function ReaderScan():String {
			var result:String = ExternalInterface.call("Check_Readerprocessform");
			return result;
		}
		
		/**
		 * 关闭扫描仪闸口
		 * @return 成功 0，失败 -1，票据口有票 -13
		 * */
		public function ReaderClose():String {
			var result:String = ExternalInterface.call("Check_Readercloseshutter");
			return result;
		}
		
		/**
		 * 获取扫描信息
		 * @param str 需要获取的票据信息(正面路径  "0"，反面路径 "1"，MICR内容  "2"，OCR内容 "3"，判断底纹是否符合  "4",获得支票二维码 "5",获得扫描失败具体信息 "6")
		 * @return 字符串 表示获得到的信息   ，  "-1"表示没有获得到信息 ，（传的参数为0、1、2、3时）,false 底纹验证失败，true 底纹验证成功（传的参数为4时）
		 * 
		 * */
		public function ReaderGetScanInfo(str:String):* {
			var result:String;
			if(str == "4") {
				var temp:Boolean = ExternalInterface.call("Check_ReaderReadForm",str);
				if(temp == false){
					result = "0";
				} else {
					result = "1";
				}
				return result; 
			} else {
				result = ExternalInterface.call("Check_ReaderReadForm",str);
				return result; 
			}
			
		}
		
		/**
		 * 存票
		 * @return 成功0，失败-1
		 * 
		 * */
		public function ReaderSave():String {
			var result:String = ExternalInterface.call("Check_ReaderAcceptDoc","1");
			return result;
		}
		
		/**
		 * 退票
		 * @return 成功 0，失败-1
		 * */
		public function ReaderBack():String {
			var result:String = ExternalInterface.call("Check_ReaderAcceptDoc","0");
			return result;
		}
		
		/**
		 * 关闭废票口
		 * @param closeTime 关闭废票口的等待时间
		 * @return 成功 0，失败 -1
		 * 
		 * */
		public function ReaderShutter(closeTime:int):String {
			var result:String = ExternalInterface.call("Check_Readerretractdoc",closeTime);
			return result;
		}

	}
}